﻿using System;
using System.Diagnostics.CodeAnalysis;
using System.Windows.Forms;


namespace TextGenerator
{
    public partial class MainForm : Form
    {
        #region Status Tool Strip.
        /// <summary>
        /// The default text displayed in the "generated in"-label when nothing has been generated.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string LABEL_NOT_GENERATED_TEXT = "Not generated.";

        /// <summary>
        /// The "variables"-label for displaying the number of variables.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string LABEL_VARIABLES_TEXT = "Variables";

        /// <summary>
        /// The "combinations"-label for displaying the number of combinations.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string LABEL_COMBINATIONS_TEXT = "Combinations";
        #endregion Status Tool Strip.

        #region Error Messages.
        /// <summary>
        /// The error message displayed to the user when there was an error while running the asynchronous generation.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string ERROR_ASYNC_TEXT = "An error occured while generating";

        /// <summary>
        /// The accompanying title to <see cref="ERROR_ASYNC_TEXT"/>.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string ERROR_ASYNC_TITLE = "Error while generating";

        /// <summary>
        /// The error message displayed to the user when the pattern generates too many possible combinations.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private readonly string ERROR_TOO_MANY_COMBINATIONS_TEXT = String.Format("The current pattern has too many possible combinations. A maximum of {0:N0} combinations is allowed. Please revise the pattern.", Int32.MaxValue);

        /// <summary>
        /// The accompanying title to <see cref="ERROR_TOO_MANY_COMBINATIONS_TEXT"/>.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string ERROR_TOO_MANY_COMBINATIONS_TITLE = "Invalid pattern";

        /// <summary>
        /// The error message displayed to the user when the pattern generates too many possible combinations.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private readonly string ERROR_INVALID_REFERENCES_TEXT = String.Format("The current pattern has an invalid reference, or a conditional reference with members that does not match the referenced variable. Please revise the pattern.", Int32.MaxValue);

        /// <summary>
        /// The accompanying title to <see cref="ERROR_INVALID_REFERENCES_TEXT"/>.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string ERROR_INVALID_REFERENCES_TITLE = "Invalid pattern";

        /// <summary>
        /// The error message displayed to the user when the pattern being generated runs out of memory.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string ERROR_OUT_OF_MEMORY_TEXT = "The current pattern exhausts the memory resources. There is not enough memory to complete the operation.";

        /// <summary>
        /// The accompanying title to <see cref="ERROR_OUT_OF_MEMORY_TEXT"/>.
        /// </summary>
        [SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "SA1310:FieldNamesMustNotContainUnderscore", Justification = "Reviewed. Suppression is OK here.")]
        private const string ERROR_OUT_OF_MEMORY_TITLE = "Out of memory";
        #endregion Error Messages.
    }
}